One of communication protocols defined by IEEE (Instituted of Electrical and Electronics Engineers) is IEEE 1394. A communication scheme defined by IEEE 1394 realizes higher-speed bidirectional communication, compared to a handshake scheme. A device connected by an IEEE 1394 serial bus which is a memory bus model interface can access an address designated by a partner. IEEE 1394 defines the protocols of physical and link layers for wider applications, and does not define detailed protocols for each device.
An SBP-2 (Serial Bus Protocol-2) protocol is defined as the protocol of a transport layer utilizing IEEE 1394 as the physical/link layer. SBP-2 fully exploits the features of an IEEE 1394 memory bus model, and a command receiving side can receive data from a transmitting side at the convenience of the receiving side in accordance with SBP-2. Two devices connected by SBP-2 are a command transmitting side called an initiator and a receiving side called a target, and the initiator takes the initiative to start communication. Log-in operation can be performed by only the initiator, and the target operates in response to an action from the initiator in principle.
According to SBP-2, when the initiator logs in, the initiator creates a block ORB (Operation Request Block) which describes a memory address or the like used to exchange data, and notifies the target of the ORB address. The target reads the notified ORB, and reads out data from the described address, or writes data at the address, thereby realizing exchange of data. The ORB address is queued in the target, and its response is queued in the initiator. The target sequentially processes queued ORBS, and sends back responses to the initiator. A queue containing an ORB to be processed is called an active queue.
An IEEE 1394.3 standard which defines reverse log-in which prompts the initiator from the target to log in is also proposed as a protocol of the transport layer in addition to SBP-2. In IEEE 1394.3, log-in operation can be executed by only the initiator, and the target operates in response to an action from the initiator in principle. However, the target can perform reverse log-in operation which prompts the initiator to log in.
Since the initiator takes the initiative, the initiator generally has a larger number of sources. The standard causes the initiator to provide various services, and the target designates and receives a desired service.
The IEEE 1394 standard assumes that nodes connected to each other constitute one device. This is because IEEE 1394 inherits, e.g., a SCSI (Small Computer System Interface) definition which assumes each node as a single device in order to eliminate cumbersome management of a plurality of devices within one node. When a target defined by IEEE 1394.3 is to be connected to an initiator defined by IEEE 1394.3 by a method defined by IEEE 1394.3, the target specifies only a service ID as a parameter which specifies a service with respect to the initiator.
When, therefore, the initiator contains a plurality of logical devices, the current connection method defined by IEEE 1394.3 cannot designate a logical device. If the target wants to utilize the service of a specific logical device within the initiator in which a plurality of logical devices support services having the same ID, the logical device cannot be specified by the IEEE 1394.3 connection method.
The present invention has been made in consideration of the prior art, and has as its object to provide a communication control apparatus and method which enable managing each logical device in an initiator when the initiator has a plurality of logical devices, and allow target to designate a logical device and a service provided by each logical device.